Sympy
¶On importe tout le contenu de sympy
.
from sympy import *
Alternative
On aurait également pu utiliser la fonction init_session
qui fournit des variables, des fonctions et l'affichage LaTeX.
utilisation de symbols
.
x,y=symbols('x y')
type(x)
On peut alors les utiliser pour créer des expressions plus complexes.
A=x**2+y**2
type(A)
B=x**3
type(B)
On notera les différences concernant l'affichage
init_printing()
A
print(A)
pprint(A)
from IPython.display import display
display(A)
demi=Rational(1,2)
display(demi)
display(1/2)
sympy
¶demiBis=sympify(1)/sympify(2)
demiBis
S(1/2)
S(1)/2
S(8.2)
type(S(8.2))
S("2*x**2+2*x+1")
On peut créer des symboles à la volée
type(S("t"))
oo>1
1/oo
f=exp(x**2+x+1)*(log(1+x**4))
display(f)
f.diff(x)
diff(f,x)
g=sin(x+1)*cos(x)**2
g
integrate(g,x)
integrate(g,(x,0,pi))
integrate(exp(-x**2),(x,-oo,+oo))
f=(1+1/x)**x
display(f)
f.limit(x,oo)
O(x+x**2)
Ex=(x+1)**2+(x-1)**4
display(Ex)
Ex.expand()
expand(Ex)
P=x**4+5*x**3+5*x**2-5*x-6
P
P.factor()
factor(P)
C=(x+1)/(x+2)+((x+2)*(x+3))/(x**3+8)
C
C.simplify()
trigsimp(cos(x)**2+sin(x)**2)
F=1/(x**4+5*x**3+5*x**2-5*x-6)
F
apart(F)
F=(x+2)*(x+3)
display(F)
X=x**2+x+1
display(X)
F.subs(x,X)
Pour plusieurs variables simultanément
Ff=(x+2)*(x*y+1)
display(Ff)
Ff.subs({x:y+x+1, y:x**2+y**2+1})
g=sqrt(x**2+1)*log(x+2)
display(g)
g.subs(x,pi)
g.subs(x,pi).evalf()
(pi+E).evalf()
(pi+E).evalf(25)
N(pi+E)
N(pi,50)
ex=log(1+x)/(1-x)
display(ex)
ex.series()
ex.series(n=3)
ex.series(x0=2,n=5)
equation=Eq(x+3,2)
equation
equation=Eq(x+3,2)
solve(equation,x)
equation=Eq(x**2+3*x+1,2)
equation
solutions=solve(equation,x)
solutions
type(solutions)
equation=Eq(cos(x),x)
equation
nsolve(equation,x,0)
nsolve(Eq(x*exp(x),1),x,0)
fonc=Function('f')
fonc
equad=Eq(Derivative(fonc(x),x),9*fonc(x))
equad
dsolve(equad,fonc(x))
S("sqrt(x**2+1)").series(x,7)
latex(S("sqrt(x**2+1)").series(x,7))
M=Matrix([[1,0,1],[0,1,0],[1,0,1]])
M
M*M
M+M
N=Matrix([[x,x*y,x+y],[x*y,x+y,x],[x+y,x,x*y]])
N
M*N
Identity?